Skip to main content

How to Get Rid of Things in Docker Images, Containers and Volumes Cleanup Made Simple!

· 9 min read
Yashwin Shankar
Front End Developer @ Tech4Biz Solutions Pvt Ltd.
Welcome to Docker! Docker helps you neatly pack your apps in containers, making them easy to move around. But sometimes, you end up with extra stuff like pictures, boxes, and data stacks taking up space on your computer. No worries! Docker has a trick in its toolbox. You can clean up using some easy commands from your computer's taking place (the command line). This guide is like a Quick Guide – it gives you quick tips to free up space and keep your computer tidy by tossing out the unnecessary Docker pictures, boxes, and data stacks.

How to Use This Quick Guide:
Think of it as a quick reference with simple commands. If you want to do something specific, find that part. Let's keep it simple and neat!

Note: The way we use commands like $(command) is supported in popular shells such as bash, zsh and Windows Powershell. It's like a language these shells understand to get things done!
Getting Rid of Unused Stuff in Docker:
Docker can help clean up your computer easily! Just one command clears things like extra pictures, boxes, data and connections hanging out without labels or buddies (not tagged or associated with a container). Let's see how to do this super quickly!

docker system prune
To also clear out any stopped containers and all unnecessary images (not just the dangling ones), just add the -a flag to the command!

docker system prune -a
Getting Rid of Docker Images
Eliminate one or more specific images

To locate the images you want to remove, use the docker images command with the -a flag. This displays all images, including the ones in-between. Once you spot the images you want to erase, use their ID or tag with docker rmi. It's as simple as that!

List:
docker images -a

Remove:
docker rmi Image Image
Cleaning Up Unused Images
Docker images are like building blocks made up of multiple layers. Dangling images are like lonely blocks that don't connect to anything important. They do nothing useful and take up space on your computer. You can find them using a special command: add -f with the secret code "dangling=true" to the docker images command. When you're ready to remove them, use the docker image prune command. Easy peasy!

Note: When you create a special Docker image, it might end up feeling a bit lost if you forget to give it a name (tag). These unnamed images show up in a list called "dangling images" because they don't have a buddy with a name. To avoid this, simply give your image a name when you create it. If you forget, don't worry! You can always give it a name later using the docker tag command. Easy, right?

List:
docker images -f dangling=true

Remove:
docker image prune
Deleting Images with a Search
If you want to clean up a bunch of images that share a common theme, you can use a mix of docker pictures and a tool called grep. Once you're sure about the ones you want to remove, you can make them disappear using a special command called awk, which talks to docker rmi. Just remember, these tools aren't part of Docker itself, so they might not work the same way on every computer. But if you have them, you're good to go!

List:
docker images -a |  grep "pattern"

Remove:
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Deleting All Images
If you want to get rid of all the Docker pictures on your computer, you can see a list of them by typing docker images -a. Once you're sure you want to say goodbye to all of them, just use a special command by adding -q to the docker images -a command. It's like cleaning up your entire picture collection in one go!

List:
docker images -a

Delete:
docker rmi $(docker images -a -q)
Removing Containers
Deleting Specific Containers
If you're looking to tidy up your digital space by removing specific containers, you're in luck! Discover how to find their names or IDs using the straightforward command docker ps -a. Once you've identified the ones you want to remove, you're all set for a cleaner digital environment.

List:
docker ps -a

Remove:
docker rm ID_or_Name ID_or_Name
Deleting a Container Automatically
If you're pretty sure you won't need a container after you finish using it, you can make life easy! Just use the command docker run --rm. It's like telling Docker to automatically clean up after itself once you're done using the container. Simple, right?

Run and Delete:
docker run --rm image_name
Deleting All Finished Containers
To find containers that are finished doing their job, type docker ps -a. You can sort them by their status: created, restarting, running, paused, or exited. To see only the ones that are finished, use a special code called -f to filter them. Once you're sure you want to get rid of these containers, use another code called -q to make them disappear with docker rm. It's like cleaning up after your containers finish their work!

List:
docker ps -a -f status=exited

Delete:
docker rm $(docker ps -a -f status=exited -q)
Deleting Containers with Multiple Conditions
You can use different codes to find and remove specific containers. It's like sorting through your containers based on different things. If you want to delete containers that are either just created or finished doing their job, you can use two special codes together. It's as simple as that!

List:
docker ps -a -f status=exited -f status=created

Delete:
docker rm $(docker ps -a -f status=exited -f status=created -q)
Deleting Containers with a Search
If you want to clean up containers that share a common theme, you can use a mix of docker list and a tool called grep. Once you're sure about the ones you want to remove, you can make them disappear using special commands called awk and xargs with docker rm. Just remember, these tools might not work the same way on every computer because they're not part of Docker itself. But if you have them, you're good to go!

List:
docker ps -a |  grep "pattern”

Delete:
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm
Stopping and Clearing All Containers
Wondering what containers are hanging out on your computer? Just type docker ps to see them. Add a little magic code, -a, to see all of them. When you're certain you want to make them vanish, use another secret code, -q, to stop and remove them with two special commands: docker stop and docker rm. It's like giving your computer a quick clean-up!

List:
docker ps -a

Remove:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Deleting Volumes
Getting rid of specific volumes in Docker 1.9 and later is simple!

First, use docker volume ls to find the name or names of the volumes you want to remove. Then, make them disappear by using docker volume rm. It's like saying goodbye to the storage spaces you no longer need!

List:
docker volume ls

Delete:
docker volume rm volume_name volume_name
Deleting Unused Volumes
In Docker 1.9 and later versions, volumes stick around even after containers are gone. When a volume is no longer connected to any containers, it's called a dangling volume. To find these and make sure you want to remove them, use docker volume ls with a special code to show only the dangling volumes. Once you're sure, get rid of them all with docker volume prune. It's like cleaning up extra storage space you don't need anymore!

List:
docker volume ls -f dangling=true

Delete:
docker volume prune
Deleting a Container and its Volume
IIf you made a volume without giving it a name, you can delete it when you remove the container by using a special code, -v. Remember, this trick only works for volumes without names. Once the container is gone, you'll see its ID, but there won't be any mention of the volume. If the volume is unnamed, it quietly disappears. If it has a name, it stays on your system silently. It's like cleaning up your digital space effortlessly!

Delete:
docker rm -v container_name

Conclusion:
In this guide, we've shown you the basics of cleaning up in Docker. But there's a whole world of cleanup options waiting for you! Check out Docker's documentation for commands like docker system prune, docker rmi, docker rm and docker volume rm to explore more.

Have questions or want to share your cleanup ideas?

Drop a comment below! We're here to help you keep things neat and tidy in your Docker world.